package com.niiwoo.civet.trade.enums.credit;

import lombok.AllArgsConstructor;
import lombok.Getter;

/**
 * 信用借担保项目状态枚举
 *
 * @author liming
 * @date 2017-12-15 15:25
 */
@Getter
@AllArgsConstructor
public enum CreditLoanGuaranteeProjectStatusEnum {

    /**
     * 项目状态(0=申请中, 1=申请尽调中, 2=尽调中, 31= 尽调不通过, 3=担保中, 32=担保未满, 4=投标中, 5=成标,
     *      33=投标未满, 34=手动流标, 43=逾期, 6=还款成功, 41=黄色警告, 42=红色警告, 44=坏账, 45=坏账已结清)
     *
     */
    /*
     * 项目状态：
     *  0=申请中  (备用，如果添加了审核)
     *  1=申请尽调中（借款人发标后的初始状态）
     *  2=尽调中（候选尽调人申请尽调  并且到达了项目需要的尽调人数）
     *  31= 尽掉不通过（在规定时间内没有足够的尽调人或发布尽调报告或发布了不担保的尽调报告）
     *  3=担保中（尽调通过进入担保中）
     *  32= 担保未满（在规定时间内没有足够的担保人）
     *  4=投标中（担保通过进入投标中 =担保完成）
     *  5=成标（在规定时间内筹款满额  =还款中）
     *  33= 投标未满（在规定时间内筹款不够 自动流标 = 筹款失败
     *  34= 手动流标
     *  43= 逾期（在规定时间内未还款）
     *  6=还款成功（还完所有借款和利息 = 结清）
     *  41= 黄色警告（还款前3天，用户账户中没有足够的余额）
     *  42= 红色警告（还款前1天，用户账户中没有足够的余额）
     *  44= 坏账（逾期1个月还没有还款进入坏账）
     *  45= 坏账已结清
     */

    APPLYING((byte)0,"申请中"),
    APPLY_INVESTIGATE((byte)1,"申请尽调中"),
    INVESTIGATING((byte)2,"尽调中"),
    INVESTIGATE_NOT_PASS((byte)31,"尽调不通过"),
    GUARANTEE((byte)3,"担保中"),
    GUARANTEE_NOT_PASS((byte)32,"担保未满"),
    LOAN((byte)4,"投标中"),
    LOAN_SUCCESS((byte)5,"成标"),
    LOAN_FAILURE((byte)33,"投标未满"),
    LOAN_FAILURE_MANUAL((byte)34,"手动流标"),
    OVERDUE((byte)43,"逾期"),
    REPAYMENT_FINISH((byte)6,"还款成功"),
    YELLOW_WARNING((byte)41,"黄色警告"),
    RED_WARNING((byte)42,"红色警告"),
    BAD_DEBT((byte)44,"坏账"),
    BAD_DEBT_REPAYMENT_FINISH((byte)45,"坏账已结清");









//    CHECKING((byte) 1, "审核中"),
//
//    COLLECTING((byte) 2, "筹款中"),
//
//    REPAYING((byte) 3, "还款中"),
//
//    FINISH((byte) 4, "已结清"),
//
//    MISCARRY((byte) 5, "流标");

    private byte code;
    private  String desc;

    public static CreditLoanGuaranteeProjectStatusEnum enumOf(byte code){
        for(CreditLoanGuaranteeProjectStatusEnum status : values())
            if(status.getCode() == code)
                return status;
        return null;
    }

//    @Getter
//    @AllArgsConstructor
//    public enum CreditLoanGuaranteeProjectSubStatusEnum {
//
//        NORMAL_REPAYMENT(300,"正常还款中"),
//        OVERDUE_REPAYMENT(301,"逾期还款中"),
//        BAD_REPAYMENT(302,"坏账还款中");
//
//        /**
//         * 项目子状态:100审核中-初始，101审核中-借款退回，102自动审核-通过，103自动审核-人工审核，104人工审核-通过，105审核通过待确认（融360有），
//         * 200筹款中-投资中，201筹款中-放款中,
//         * 300还款中-正常还款中，301还款中-逾期还款中，302还款中-坏账还款中，
//         * 400已结清-正常，401已结清-提前结清，402已结清-坏账结清,403已结清-逾期结清，
//         * 500流标-自动审核不通过，501流标-人工审核不通过，502流标-借款退回超时未确认，503流标-借款人手动取消，504流标-投资超时，505流标-后台管理人员手工流标
//         */
//        private Integer code;
//        private String desc;
//
//        public static CreditLoanGuaranteeProjectSubStatusEnum enumOf(int code){
//            for(CreditLoanGuaranteeProjectSubStatusEnum subStatus : values())
//                if(subStatus.getCode() == code)
//                    return subStatus;
//            return null;
//        }
//
//    }

}
